It has become commonplace to solve large scale problems in such areas as optimization and simulation through concurrent execution of numerous iterations of a routine in which a calculation and/or search process is performed (sometimes referred to as concurrent routines or “coroutines”). In each such iteration, the same calculation or search process is performed with a different version of inputs than the others such that a concurrent “trial and error” process on a large scale is performed. Execution of such iterations may continue until either an entire predetermined range of versions of inputs has been tried or at least one of the versions of inputs has begotten a result fitting predetermined criteria.